-
They change how data is stored, not how users interact with it.
-
From a user's perspective, all of these expose essentially the same abstraction.
-
"Why are my files scattered everywhere?", "Why do applications create arbitrary folders?"
-
that's usually determined by:
-
the operating system
-
application conventions
-
desktop environment
-
package manager
-
standards like the FHS
-
-
βnot by the filesystem.
-
-
-
They determine things like:
-
How directories and files are organized.
-
How free space is tracked.
-
How permissions and metadata are stored.
-
Whether the filesystem journals changes.
-
Whether it supports snapshots, compression, checksums, etc.
-
-
They are not compatible with each other internallyβan ext4 partition and an NTFS partition organize data completely differently.
ZFS
-
Platform :
-
Linux (OpenZFS)
-
Or OpenZFS ports for other Unix-like systems
-
-
FreeBSD
-
TrueNAS
-
-
Strengths :
-
Copy-on-write
-
End-to-end checksums
-
Snapshots
-
Clones
-
Compression
-
Deduplication
-
Integrated RAID management (RAID-Z)
-
-
Weaknesses :
-
High RAM usage, more complex
-
You need at least 1GB of RAM per 1TB of storage.
-
-
-
Common uses :
-
Servers
-
NAS systems
-
Backup storage
-
-
It's not in the Linux kernel, due to licensing drama.
-
On-disk structure :
-
Organizes storage into copy-on-write trees with checksummed blocks and storage pools.
-
F2FS (Flash-Friendly File System)
-
Platform :
-
Linux.
-
-
Strengths :
-
Optimized for flash storage (SSDs/eMMC)
-
It will make your SSD last longer.
-
Reduce write amplification
-
Improve flash lifetime
-
Faster random writes
-
-
-
Weaknesses :
-
Fewer advanced features than ZFS
-
-
Common uses :
-
Android devices
-
Embedded Linux
-
Some desktop Linux installations
-
-
On-disk structure :
-
Is log-structured for flash devices.
-
BTRFS (B-tree File System)
-
Is a modern Linux filesystem designed to provide many of the advanced features found in ZFS while remaining integrated with the Linux kernel.
-
Strengths :
-
Copy-on-write (CoW)
-
Snapshots
-
Writable clones
-
Checksums for data and metadata
-
Transparent compression (zstd, lzo, zlib)
-
Subvolumes
-
Online resizing
-
Built-in RAID support
-
Send/receive for efficient incremental backups
-
-
Weaknesses :
-
RAID 5/6 is still not recommended for production in many cases; more complex than ext4
-
-
Common uses :
-
Desktop Linux
-
Rolling-release distributions
-
Development machines
-
Systems where snapshots are useful
-
-
On-disk structure :
-
Stores almost everything in B-trees (balanced trees), which is where its name comes from.
-
The main trees include:
-
Filesystem tree β files, directories, and inodes
-
Extent tree β tracks which data blocks (extents) are allocated
-
Checksum tree β stores checksums for data blocks
-
Chunk tree β maps logical filesystem addresses to physical devices
-
Root tree β tracks subvolumes and snapshots
-
Device tree β information about storage devices
-
-
XFS
-
Platform :
-
Linux.
-
-
Strengths :
-
Excellent for large files and parallel I/O
-
-
Weaknesses :
-
A XFS partition can never shrink, only grow.
-
Terrible with tiny files.
-
-
Common uses :
-
Enterprise Linux
-
Media production
-
Databases
-
-
On-disk structure :
-
Uses B+ trees extensively.
-
ext4
-
The default Linux filesystem for many distributions.
-
Platform :
-
Linux.
-
-
Strengths :
-
Journaling
-
Extents
-
Delayed allocation
-
Large files
-
Mature tooling
-
-
Weaknesses :
-
No snapshots.
-
No compression.
-
-
On-disk structure :
-
Uses inodes, extents, and block groups.
-
NTFS
-
Default Windows filesystem.
-
Platform :
-
Windows.
-
Linux, via special driver.
-
Read support has existed for years.
-
Modern kernels include the NTFS3 driver for read/write support.
-
-
macOS
-
Reads NTFS natively.
-
Writing generally requires third-party software.
-
-
-
Strengths :
-
Journaling
-
ACL permissions
-
Compression
-
Encryption (EFS)
-
Sparse files
-
Hard links
-
-
Weaknesses :
-
It works on linux, but not ideal.
-
Not great on performance.
-
Native Linux write support relies on NTFS3/FUSE implementations
-
-
-
On-disk structure :
-
Stores metadata in the Master File Table (MFT).
-
exFAT
-
Fixes the file size limit from FAT32, but it's not universally supported yet.
-
Created by Microsoft.
-
Platform :
-
Linux
-
Windows
-
macOS
-
-
Strengths :
-
Excellent compatibility, supports large files
-
-
Weaknesses :
-
No journaling or permissions
-
-
Designed for :
-
USB drives
-
SDXC cards
-
External SSDs
-
-
On-disk structure :
FAT32
-
Platform :
-
Almost everything
-
-
Strengths :
-
Universal compatibility.
-
-
Weaknesses :
-
4 GB max file size, 2 TB practical volume limit
-
-
Common uses :
-
BIOS/UEFI boot partitions
-
Small USB drives
-
Embedded devices
-
-
On-disk structure :
-
Stores allocation information in a File Allocation Table.
-